/*
 *  clb_device_info.h
 *  clbench
 *
 *  Created by Holmes Futrell on 12/16/09.
 *  Copyright 2009 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef CLB_DEVICE_INFO
#define CLB_DEVICE_INFO

#include <OpenCL/opencl.h>


void getDeviceInfo(cl_device_id device);

/* support functions */
void print_device_info_size_t(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_size_t_array(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_ulong(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_uint(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_bool(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_string(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_platform_id(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_exec_capabilities(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_command_queue_properties(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_local_mem_type(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_mem_cache_type(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_mem_type(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_fp_config(cl_device_id device, const char *string, cl_device_info param_name);
void print_device_info_cl_device_type(cl_device_id device, const char *string, cl_device_info param_name);

#endif